<?php
namespace slinks\common\dynamic;

/**
 * Marks a class as being able to produce a php file that is dynamically generated. 
 * 
 * @author Navid Mitchell
 *
 */
interface IDynamic {
	
	/**
	 * @return string that is the class name for this IDynamic object
	 */
	public function getClassName();
	
	
	/**
	 * @return a string which contains the dynamically generated php. 
	 */
	public function getPhp();
	
	
	/**
	 * Returns the resources that this dynamic object represents. 
	 * This is used to determine if the IDynamic object should be re-built. 
	 * @return array of ResourceInterface objects. 
	 */
	public function getResources();
	
}